草庐IT

c++ - 从 C++ 类制作 Visual C++ DLL

全部标签

c# - 如何使用 Xamarin 在 iOS 8 中制作表格单元格和分隔符全宽?

我们有许多表格View(使用XamarinMonotouchDialog),它们是普通的(未分组的)并且设计为全角显示而没有缩进。这在iOS7中一切正常。不过使用iOS8模拟器时,我们得到了轻微的左缩进。iOS8有一个名为LayoutMargins的新属性。我们将该属性设置为零。像这样:if(this.TableView.RespondsToSelector(newSelector("setSeparatorInset:")))this.TableView.SeparatorInset=UIEdgeInsets.Zero;if(this.TableView.RespondsToSele

c# - 如何制作从 C# "Thread-safe"调用的 C (P/invoke) 代码

我有一些使用单个全局变量的简单C代码。显然这不是线程安全的,所以当我在C#中使用P/invoke从多个线程调用它时,事情就搞砸了。如何为每个线程单独导入此函数,或使其成为线程安全的?我尝试声明变量__declspec(thread),但这导致程序崩溃。我还尝试制作一个C++/CLI类,但它不允许成员函数是__declspec(naked),我需要(我正在使用内联汇编)。我在编写多线程C++代码方面经验不足,因此可能缺少某些内容。下面是一些示例代码:C#[DllImport("MyDll.dll",CallingConvention=CallingConvention.Cdecl)]pu

c# - Oracle.ManagedDataAccess.dll 中的 OracleBulkCopy 类?

我正在使用OracleBulkCopy类并引用Oracle.DataAccess.dll。我想使用Oracle.ManagedDataAccess.dll来轻松部署。但是后来我得到了构建错误“找不到OracleBulkCopy”有谁知道为什么Oracle.ManagedDataAccess.dll中没有包含OracleBulkCopy? 最佳答案 你是对的。在撰写本文时,OracleBulkCopy在ODP.NET托管驱动程序中不受支持。未包含的原因仅仅是功能优先级问题。随着托管驱动程序的功能越来越完善,最终将添加OracleBul

c# - 如何在包含第三方 DLL 文件的同时部署 C# 应用程序?

首先,我不太了解部署。我希望我的问题是有道理的。我需要将C#应用程序安装/部署到多个桌面。它需要一个第三方DLL文件:一个C++库(“lpsolve55.dll”,对于那些感兴趣的人来说,它是一个免费的MIP/LP求解器,请参见lpsolve.sourceforge.net/5.5/)。我通过以下方式在我的代码中使用它:[DllImport("lpsolve55.dll",SetLastError=true)]publicstaticexternbooladd_column(intlp,double[]column);为了测试,我手动将.dll文件复制到project\bin\rele

c# - C DLL 中的 PInvoke char* 在 C# 中处理为字符串。空字符问题

CDLL中的函数如下所示:intmy_Funct(char*input,char*output);我必须从C#应用程序调用它。我通过以下方式执行此操作:...DllImportstuff...publicstaticexternintmy_Funct(stringinput,stringoutput);输入字符串完美地传输到DLL(我有可见的证据)。该函数填写的输出虽然是错误的。我有hexa数据,比如:3F-D9-00-01但不幸的是,两个零之后的所有内容都被截断了,只有前两个字节进入了我的C#应用程序。它发生了,因为(我猜)它被视为空字符并将其作为字符串的结尾。知道如何摆脱它吗?我试

c# - IoC、Dll 引用和程序集扫描

虽然这个问题与StructureMap有关,但我的一般问题是:WhenwiringupcomponentswithanIoCcontainerincode(asopposedtoconfiguringviaxml)doyougenerallyneedexplicitproject/buildreferencestoallassemblies?为什么要分开组装?因为:"Abstractclassesresidinginaseparateassemblyfromtheirconcreteimplementationsareagreatwaytoachievesuchseparation."

c# - 在c# winform中打印和制作报告

我使用DelphiQuickReport来创建报告和打印。我可以使用什么在.NETC#中执行此操作?我向我的项目(Winforms应用程序)添加了一些报告元素(Microsoft报告和Crystal报告),但我看到的是我只能从数据库插入数据。我想要的是使用在运行时创建的对象的值。这是因为我的报告实际上包括收据和发票。哪种工具最适合我的需求? 最佳答案 您可以使用内置报告生成漂亮的报告,而无需数据库。为您的数据创建一个类,在我的例子中,我将创建一个人员类:classPerson{publicstringFirstName{get;se

c# - 来自 user32.dll 的 FindWindowEx 使用 dllimport 返回零句柄和 127 错误代码

我需要以编程方式处理另一个Windows应用程序,搜索谷歌我找到了一个示例,它使用DLLImport属性处理Windows计算器并将user32.dll函数导入C#中的托管函数。应用程序正在运行,我正在获取主窗口的句柄,即计算器本身,但之后的代码无法正常工作。FindWindowEx方法不返回计算器子项的句柄,例如按钮和文本框。我尝试在DLLImport上使用SetLastError=True并发现我收到错误代码127,即“未找到过程”。这是我从中获得示例应用程序的链接:http://www.codeproject.com/script/Articles/ArticleVersion.

c# - 以编程方式在文本之间制作带有超链接的文本 block

在XAML中,我有以下代码:clickhereplease现在我想摆脱整个TextBlockXAML并以编程方式添加该位。我可以毫不费力地创建TextBlock,将Text属性设置为“请单击”并将超链接添加到TextBlock.Content。但是如何将超链接定位在“点击”和“请”之间?以及如何将超链接的文本设置为“此处”?我没有太多进展,到目前为止我得到的是:label2.Content=newTextBlock(){Text="clickplease"};//(label2.ContentasTextBlock).Contentdoesnotexist?//andevenifitd

c# - Visual Studio - 引用第三方 DLL

我在C#MVC应用程序中使用VisualStudio10。我有一个关于.dll引用的问题。我正在使用名为ionic.Zip.dll。我不确定的是它当前指向我的C:驱动器上的某个位置。我如何放置这个.dll以及什么是最佳实践,这样当我checkin项目时,其他人也可以看到这个.dll而不会崩溃。谢谢 最佳答案 我通常会在我的应用程序结构中放置一个库文件夹,将第3方dll放置在该文件夹中,然后引用该dll。然后确保将库文件夹checkin源代码管理。现在,任何提取您源代码的人都将拥有所需的dll。